perm filename LINES.LST[NEW,LCS] blob sn#148554 filedate 1975-02-27 generic text, type T, neo UTF8
LINES.F4	F40	V25	27-FEB-75	12:42	PAGE 1



				25800	      SUBROUTINE LINES(A,B,L)
1M    	BLOCK	0

				25850	      COMMON/DST/BB,CC

				25900	      COMMON /SIZ/RSZ,JCEN,KCEN /FL/IC,NZ,NX,RZ,XGP

				26000	      COMMON/DL/IXRX,SAVER,AA /PLTR/IPLT,RHT,DIS

				26100	      COMMON R2,JA,CENTR,JB,RJQ(20),JQ(20)

				26200	      COMMON/DPY/JJ(4000),WDS(250),MEDIT,IGO

				26400	      EQUIVALENCE (ITOP,JJ(3999)),(IBOT,JJ(4000))
				26402	     1,(JJ2,JJ(2))

				26500	      DATA BB/.008/,CC/3.5/

				26600	C  SET XGP TO 1200.0 FOR MARGIN IN XEROX COPIES

				26650	      GO TO 23
      	JRST  	23P   

				26700	22    IF(JQ(1).NE.0)GO TO 23
22P   	MOVE  	02,JQ    
      	JUMPN 	02,23P   

				26750	      IF(CC.EQ.1000)GO TO 23
      	MOVSI 	02,212764
      	CAMN  	02,CC    
      	JRST  	23P   

				26775	C  ABOVE TO SKIP DISTORTION ON COMMAND

				26800	C  CHANGE ABOVE TO 'JFCL' IN DDT TO USE NEXT ITEMS.

				27000	C  USE THIS IN DDT TO DISTORT ITEMS.  CC MUST BE > DD

				27100	      B=B*(CC-BB*ABS(A))
      	JSA   	16,ABS   
      	ARG   	02,A     
      	FMPR  	00,BB    
      	FSBR  	00,CC    
      	FMPRM 	00,B     
      	MOVNS 	00,B     

				27150	C  CC IS HGT FACTOR.

				27200	23    IF(IPLT)GO TO 2
LINES.F4	F40	V25	27-FEB-75	12:42	PAGE 2


23P   	MOVE  	02,IPLT  
      	JUMPL 	02,2P    

				27300	      M=A*RSZ
      	MOVE  	02,A     
      	FMPR  	02,RSZ   
      	JSA   	16,IFIX  
      	ARG   	00,2
      	MOVEM 	00,M     

				27400	      N=B*RSZ
      	MOVE  	02,B     
      	FMPR  	02,RSZ   
      	JSA   	16,IFIX  
      	ARG   	00,2
      	MOVEM 	00,N     

				27500	      IF(RSZ.LE.0.8571)GO TO 3
      	MOVE  	02,CONST.
      	CAML  	02,RSZ   
      	JRST  	3P    

				27600	C NEXT FOR DISPLAY MAGNIFICATION

				27700	      M=M-JCEN
      	MOVN  	02,JCEN  
      	ADDM  	02,M     

				27800	      N=N-KCEN
      	MOVN  	02,KCEN  
      	ADDM  	02,N     

				27900	      IF(JA.NE.8)GO TO 5
      	MOVEI 	02,10
      	CAME  	02,JA    
      	JRST  	5P    

				28000	C NEXT INSURES DISPLAY OF STAFF LINES

				28100	      IF(M.GT.511)M=511
      	MOVEI 	02,777
      	CAML  	02,M     
      	JRST  	2M    
      	MOVEI 	02,777
      	MOVEM 	02,M     
2M    	BLOCK	0

				28200	      IF(M.LT.-511)M=-511
      	MOVNI 	02,777
      	CAMG  	02,M     
LINES.F4	F40	V25	27-FEB-75	12:42	PAGE 3


      	JRST  	3M    
      	MOVNI 	02,777
      	MOVEM 	02,M     
3M    	BLOCK	0

				28400	5     IF(IABS(M).GT.512)GO TO 77
5P    	JSA   	16,IABS  
      	ARG   	00,M     
      	CAILE 	00,1000
      	JRST  	77P   

				28450	      IF(IABS(N).LT.512)GO TO 4
      	JSA   	16,IABS  
      	ARG   	00,N     
      	CAIGE 	00,1000
      	JRST  	4P    

				28500	C  NOW DRAWS INVISIBLE VECT. IF IT GOES OFF THE SCREEN.

				28600	77    KZ=-1
77P   	SETOM 	KZ    

				28700	      RETURN
      	JRST  	4M    

				28800	4     IF(KZ.EQ.0)GO TO 6
4P    	MOVE  	02,KZ    
      	JUMPE 	02,6P    

				28900	      KZ=0
      	SETZM 	KZ    

				29000	      GO TO 1
      	JRST  	1P    

				29050	3     IF(JA.EQ.44)GO TO 6
3P    	MOVEI 	02,54
      	CAMN  	02,JA    
      	JRST  	6P    

				29075	C JA=44=BAR LINES - THEY DON'T FIGURE IN MAX. HGT.

				29100	      K=B
      	JSA   	16,IFIX  
      	ARG   	00,B     
      	MOVEM 	00,K     

				29200	      IF(K.GT.ITOP)ITOP=B
      	MOVE  	02,K     
      	CAMG  	02,ITOP  
LINES.F4	F40	V25	27-FEB-75	12:42	PAGE 4


      	JRST  	5M    
      	JSA   	16,IFIX  
      	ARG   	00,B     
      	MOVEM 	00,ITOP  
5M    	BLOCK	0

				29300	      IF(K.LT.IBOT)IBOT=B
      	MOVE  	02,K     
      	CAML  	02,IBOT  
      	JRST  	6M    
      	JSA   	16,IFIX  
      	ARG   	00,B     
      	MOVEM 	00,IBOT  
6M    	BLOCK	0

				29302	6     IF(JJ2.GT.3990)RETURN
6P    	MOVEI 	02,7626
      	CAML  	02,JJ2   
      	JRST  	7M    
      	JRST  	4M    
7M    	BLOCK	0

				29400	      IF(L.EQ.3)GO TO 1
      	MOVEI 	02,3
      	CAMN  	02,L     
      	JRST  	1P    

				29500	      CALL AVECT(M,N)
      	JSA   	16,AVECT 
      	ARG   	00,M     
      	ARG   	00,N     

				29600	      RETURN
      	JRST  	4M    

				29700	1     CALL AIVECT(M,N)
1P    	JSA   	16,AIVECT
      	ARG   	00,M     
      	ARG   	00,N     

				29800	      RETURN
      	JRST  	4M    

				29900	2     IF(IPLT.EQ.-2)RETURN
2P    	MOVNI 	02,2
      	CAME  	02,IPLT  
      	JRST  	8M    
      	JRST  	4M    
8M    	BLOCK	0

LINES.F4	F40	V25	27-FEB-75	12:42	PAGE 5


				30300	C RXGP SETS UP-DOWN POS. ON XEROX PAPER (FRACTIONAL POSITIONS POSSIBLE.)

				30400	CC	IF(B)BX=-BX

				30500	C  AX AND BX ARE FOR ROUND-OFF

				30600	CC	IF(IXRX.EQ.0)GO TO 9

				30610	CC	M=ROFF(RXGP-B*RHT)

				30620	CC	N=ROFF(XGP+A*DIS)

				30900	CC	GO TO 8

				31110	9     M=ROFF(A*DIS)
9P    	MOVE  	02,A     
      	FMPR  	02,DIS   
      	MOVEM 	02,%TEMP.
      	JSA   	16,ROFF  
      	ARG   	02,%TEMP.
      	MOVEM 	00,%TEMP.+1
      	JSA   	16,IFIX  
      	ARG   	00,%TEMP.+1
      	MOVEM 	00,M     

				31120	      N=ROFF(B*RHT)
      	MOVE  	02,B     
      	FMPR  	02,RHT   
      	MOVEM 	02,%TEMP.
      	JSA   	16,ROFF  
      	ARG   	02,%TEMP.
      	MOVEM 	00,%TEMP.+1
      	JSA   	16,IFIX  
      	ARG   	00,%TEMP.+1
      	MOVEM 	00,N     

				31200	8     CALL PLOT(M,N,L)
8P    	JSA   	16,PLOT  
      	ARG   	00,M     
      	ARG   	00,N     
      	ARG   	00,L     

				31400	      END

      	JRST  	4M    
LINES%	ARG   	00,0
      	MOVEM 	15,TEMP. 
      	MOVEM 	16,TEMP. +1
      	MOVEI 	00,TEMP. +2
      	PUSH  	00,@0(16)
LINES.F4	F40	V25	27-FEB-75	12:42	PAGE 6


      	PUSH  	00,@1(16)
      	PUSH  	00,@2(16)
      	JRST  	1M    
4M    	MOVE  	15,TEMP. 
      	MOVE  	16,TEMP. +1
      	HRROI 	00,TEMP. +5
      	POP   	00,@2(16)
      	POP   	00,@1(16)
      	POP   	00,@0(16)
      	JRA   	16,3(16)


CONSTANTS

0	200666653476	

GLOBAL DUMMIES

A     	211		B     	212		L     	213		

COMMON

BB    	/DST   /+0	CC    	/DST   /+1	RSZ   	/SIZ   /+0	JCEN  	/SIZ   /+1	KCEN  	/SIZ   /+2
IC    	/FL    /+0	NZ    	/FL    /+1	NX    	/FL    /+2	RZ    	/FL    /+3	XGP   	/FL    /+4
IXRX  	/DL    /+0	SAVER 	/DL    /+1	AA    	/DL    /+2	IPLT  	/PLTR  /+0	RHT   	/PLTR  /+1
DIS   	/PLTR  /+2	R2    	/.COMM./+0	JA    	/.COMM./+1	CENTR 	/.COMM./+2	JB    	/.COMM./+3
RJQ   	/.COMM./+4	JQ    	/.COMM./+30	JJ    	/DPY   /+0	WDS   	/DPY   /+7640	MEDIT 	/DPY   /+10232
IGO   	/DPY   /+10233	ITOP  	/DPY   /+7636	IBOT  	/DPY   /+7637	JJ2   	/DPY   /+1	

SUBPROGRAMS

ABS   	IFIX  	IABS  	AVECT 	AIVECT	ROFF  	PLOT  	

SCALARS

LINES 	216		BB    	0		CC    	1		B     	212		A     	211	
IPLT  	0		M     	217		RSZ   	0		N     	220		JCEN  	1	
KCEN  	2		JA    	1		KZ    	221		K     	222		ITOP  	7636	
IBOT  	7637		JJ2   	1		L     	213		DIS   	2		RHT   	1	
IC    	0		NZ    	1		NX    	2		RZ    	3		XGP   	4	
IXRX  	0		SAVER 	1		AA    	2		R2    	0		CENTR 	2	
JB    	3		MEDIT 	10232		IGO   	10233		

ARRAYS

RJQ   	4		JQ    	30		JJ    	0		WDS   	7640